package pe.edu.unmsm.ocaa.workspace.integracion.dao.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;

import pe.edu.unmsm.ocaa.workspace.integracion.dao.GrupoDAO;
import pe.edu.unmsm.ocaa.workspace.negocio.modelo.dto.GrupoDTO;

@Repository
public class GrupoDAOImpl extends SqlMapClientDaoSupport implements GrupoDAO{

	@Autowired
	public GrupoDAOImpl(SqlMapClient sql) {
		super.setSqlMapClient(sql);
	}

	@Override
	public List<GrupoDTO> selectGrupos() throws DataAccessException {
		return (List<GrupoDTO>)getSqlMapClientTemplate().queryForList("Grupo.selectGrupos");
	}

	@Override
	public GrupoDTO selectGrupo(Integer idGrupo) throws DataAccessException {
		return (GrupoDTO)getSqlMapClientTemplate().queryForObject("Grupo.selectGrupo", idGrupo);
	}

	@Override
	public void deleteGrupo(Integer idGrupo) throws DataAccessException {
		getSqlMapClientTemplate().delete("Grupo.deleteGrupo", idGrupo);
	}

	@Override
	public void insertGrupo(GrupoDTO grupoEditar) throws DataAccessException {
		getSqlMapClientTemplate().insert("Grupo.insertGrupo", grupoEditar);
	}

	@Override
	public void updateGrupo(GrupoDTO grupoEditar) throws DataAccessException {
		getSqlMapClientTemplate().update("Grupo.updateGrupo", grupoEditar);
	}

	@Override
	public List<GrupoDTO> selectGruposxUsuario(Integer idUsuario)
			throws DataAccessException {
		return getSqlMapClientTemplate().queryForList("Grupo.selectGrupoxUsuario", idUsuario);
	}

	@Override
	public List<GrupoDTO> selectGruposxLikeNom(String nombre)
			throws DataAccessException {
		return (List<GrupoDTO>)getSqlMapClientTemplate().queryForList("Grupo.selectGruposxLikeNom", nombre+"%");
	}

	@Override
	public List<GrupoDTO> selectGruposxArchivo(Integer idArchivo)
			throws DataAccessException {
		return (List<GrupoDTO>)getSqlMapClientTemplate().queryForList("Grupo.selectGrupoxArchivo", idArchivo);
	}

}
